約 839,111 件
https://w.atwiki.jp/kogo/pages/10.html
PL/SQL いつも忘れる例外識別子 ACCESS_INTO_NULL 未初期化オブジェクトに代入した ORA-06530 COLLECTION_IS_NULL コレクション未初期化 ORA-06531 CURSOR_ALREADY_OPEN カーソルが既にオープンされている ORA-06511 DUP_VAL_ON_INDEX キーが重複した ORA-00001 INVALID_CURSOR カーソルがオープンされていない ORA-01001 INVALID_NUMBER 数値が正しくない ORA-01722 LOGIN_DENIED ログインできない ORA-01017 NO_DATA_FOUND SELECT INTO レコードなし ORA-01403 NOT_LOGGED_ON ログインできていない ORA-01012 PROGRAM_ERROR PL/SQL 内部エラー ORA-06501 ROWTYPE_MISMATCH 互換性なし ORA-06504 STORAGE_ERROR PL/SQL メモリ不足 ORA-06500 SUBSCRIPT_BEYOND_COUNT コネクション要素オーバ ORA-06533 SUBSCRIPT_OUTSIDE_LIMIT 有効範囲外添字 ORA-06532 TIMEOUT_ON_RESOURCE タイムアウト ORA-00051 TOO_MANY_ROWS 複数行あり ORA-01422 VALUE_ERROR 算術エラー ORA-06502 ZERO_DIVIDE ゼロの割り算 ORA-01476 SQLCODEには値がコードがマイナス付きで設定される。ORA-06511 なら、-6511。但し、ORA-01403 は、SQLCODE として、+100 が返るので注意する。 SQLERRM では、SQLCODE に対応するエラーメッセージを取得できる。errmsg = sqlerrm(-6511);
https://w.atwiki.jp/dai1357/pages/18.html
SQL*Plus と iSQL*Plus SQL*Plus,iSQL*Plus DBの起動や停止、記憶域の操作、オブジェクトの作成、 表に対してSQL文を実行することができる。 できること ・データベース管理操作の実行 ・データベース内の表の問い合わせ ・データベース内の表の挿入、更新、削除 ・PL/SQLコマンドの入力 ・検索結果の書式設定 ・検索結果のOSファイル出力 SQL*Plusの実行 $ sqlplus または $ sqlplus /nolog iSQL*Plusの実行 iSQL*Plusリスナー・プロセスの起動 $ isqlplusctl start iSQL*Plusへのアクセス http //hostname 5560/isqlplus
https://w.atwiki.jp/sunbalcan/pages/20.html
sql*plus環境変数 ◆環境設定 デフォルト値 appinfoはOFFであり、設定先は "SQL*Plus"です。 arraysize 15 autocommit OFF insertやupdateやdeleteなどによるデータベースの変更を、 commitするかどうか autoprint OFF autorecovery OFF autotrace OFF blockterminator "." (hex 2e) btitle OFF cmdsep OFF 1行中に複数のSQL*Plusコマンドを使用できるかどうかを指定する colsep " " compatibility version NATIVE Oracle SQLのバージョンを指定する concat "." (hex 2e) copycommit 0 COPYTYPECHECKは、ON define " " (hex 26) describe DEPTH 1 LINENUM OFF INDENT ON echo OFF コマンドファイル実行時に、 コマンドファイル中の各コマンドを画面に表示 editfile "afiedt.buf" embedded OFF escape OFF 6 行以上に対するFEEDBACKがONです。 flagger OFF flush ON heading ON 問い合わせ結果表示する時に列名を 表示するかどうかを指定する headsep "|" (hex 7c) instance "local" linesize 80 1行に表示する文字のサイズを指定する lno 14 loboffset 1 logsource "" long 80 longchunksize 80 newpage 1 null "" numformat numwidth 10 pagesize 14 pause off 一画面ごとにユーザがEnterを押すまで画面表示がとまるにする pno 0 recsep WRAP recsepchar " " (hex 20) release 902000600 repfooter OFF であり、NULLです repheader OFF であり、NULLです serveroutput OFF shiftinout INVISIBLE showmode OFF setコマンドを使用してシステム変数を変更するときに、 変更前と変更後のシステム変数を表示するかどうかを指定します。 spool OFF sqlblanklines OFF sqlcase MIXED SQLコマンド実行前にSQLまたはPL/SQLブロックを大文字、小文字に変換 set sqlc[ase] [mix]ed /up[per]/ lo[wer]" sqlcode 0 sqlcontinue sqlnumber ON sql*plus上の行番号の表示/非表示切り替え sqlpluscompatibility 8.1.7 sqlprefix (hex 23) sqlprompt "SQL " プロンプト表示を変更 set sqlp[rompt] 新プロンプト名 sqlterminator ";" (hex 3b) suffix "sql" SQL*Plusが使用するファイルの、デフォルトのファイル拡張子を格納 tab ON SQL*Plusが空白をどのように端末に出力するかを設定 termout ON time OFF SQLプロンプトに時間を表示 set ti[me] on timing OFF 経過時間を表示するかどうかを指定 set timi[ng] on trimout ON 行の終わりにある空白を入れるかどうかを指定する trimspool OFF ttitle OFF underline "-" (hex 2d) verify ON wrap 表示しきれない行は折り返されて表示
https://w.atwiki.jp/sunbalcan/pages/6.html
sql*plusコマンド ◆SQL*Plusアルファベット順索引 @ 指定したファイルに記述されているSQL*Plusコマンドや SQLコマンドを実行 @file_name.sql / -Buffer操作- 現在SQLバッファに格納されているSQLコマンドまたは PL/SQLブロックを実行 accept ユーザ変数を作成し、そのユーザ変数にキーボードからの 入力を格納 acc[ept] a append -Buffer操作- バッファ内のカレント行の終わりに文字列を追加する a[ppend] 追加したい文字列 change -Buffer操作- バッファ内のカレント行の文字列を変更する change /変更前文字列/変更後文字列 clear buffer -Buffer操作- 現在のバッファをクリア cl[ear] buff[er] clear column columnコマンドを使用して設定した全ての列の表示属性を クリア cl[ear] col[umns] clear screen 画面をクリア cl[ear] scr[een] clear sql -Buffer操作- 現在のバッファをクリア cl[ear] sql clear timing 全てのタイマーを削除 cl[ear] timi[ng] column col[umn] 列名 for[mat] 書式 heading 別名 connect connectコマンドは、現在変更中のデータベースに 対してcommitし、現在ログインしているユーザーを Oracle から切断し、新たに指定したユーザーで Oracleに接続します。 define defineコマンドを使用してユーザ変数を定義 def[ine] ユーザ変数 = 定義したい文字列 del -Buffer操作- バッファ内の行を削除する del 2 ⇒行指定 del n m ⇒行指定(from to) del last ⇒バッファ内の最終行を削除する。 del n last ⇒バッファ内のn行目から最終行までを 削除する。但し、n lastはエラー。 del n * ⇒バッファ内のn行目からカレント行までを 削除する。但し、n *はエラー。 del * n ⇒バッファ内のカレント行からn行目を削除する。 但し、* nはエラー。 del n last ⇒バッファ内のn行目から最終行までを削除する。 但し、n lastはエラー。 describe テーブル定義を表示する disconnect SQL*Plusを終了せずにユーザーログアウト disc[onnect] edit(バッファ編集) -Buffer操作- 現在のSQLバッファの内容をシステムエディタで編集する ed[it] edit(ファイル編集) ホストOSのファイルをホストOSのエディタで編集する ed[it] ファイル名 exit SQL*Plusを終了する get -Buffer操作- ホストOSのファイルをSQLバッファ内に保存する get ファイル名 [list|nolist] help help コマンド名 host SQL*Plusログイン中にホストOSのコマンドを実行する ex)host ls or !ls input SQLバッファ内のカレント行の後に、1行の文字列を追加 input 挿入したい文字列 input list -Buffer操作- 現在のバッファを表示する password 指定したユーザのパスワードを変更する passw[ord] ユーザ名 passw[ord] pause 画面一時停止 一時停止を解除するにはユーザがEnterを押す必要がある pau[se] pau[se] 表示したいメッセージ ※pauseコマンドは通常、コマンドファイル内で使用される prompt promptコマンドは、指定したメッセージを画面に表示する pro[mpt] pro[mpt] 画面に表示したいメッセージ quit SQL*Plusを終了する remark コマンドファイルの中でコメントを入れる rem[ark] コメント run -Buffer操作- バッファ内容を表示してから問い合わせ結果を表示 save 現在のSQLバッファをホストOSのファイルとして保存する sav[e] ファイル名 sav[e] ファイル名 replace set 現在のセッションにおけるシステム変数の値を変更する set システム変数名 設定値 show システム変数の値を表示する sho[w] システム変数 Oracle のリリース番号を表示する sho[w] rel[ease] 現在Oracleにログインしているユーザ名を表示する sho[w] user 最新の操作のSQLリターン・コードsql.sqlcodeの値を表示する sho[w] sqlcode 全てのシステム変数の値やOracleログインユーザ名や sqlcodeなど全てを表示する sho[w] all start 指定したファイルに記述されているSQL*Plusコマンドや SQLコマンドを実行 start file_name.sql store 現在のSQL*Plus環境を、ホストOSのファイルとして保存 store set env.ini store set ファイル名 cre[ate] store set ファイル名 rep[lace] store set ファイル名 app[end] timing タイマーを設定 timi[ng] start timer1 timi[ng] show undefine defineコマンドを使用して定義したユーザー変数を削除 undef[ine] ユーザ変数 [ユーザ変数 ・・・] whenever oserror OSエラーが発生した場合、そのエラーを契機に処理を行う whenever sqlerror SQL、PL/SQLエラーが発生した場合、そのエラーを契機に 処理を行う
https://w.atwiki.jp/shinou/pages/16.html
プロシージャ プロシージャの定義 プロシージャは、平たく言うと名前付きPL/SQLプログラム。無名ブロックと異なり、登録しておくことで呼び出しが可能。 ローカルプロシージャ ストアドプロシージャ パッケージプロシージャ パブリックプロシージャ プライベートプロシージャ プロシージャの作成 ローカルプロシージャ PROCEDURE プロシージャ名 [(パラメータリスト)] { IS | AS } [宣言部] BEGIN [実行部] [EXCEPTION 例外処理部)] END [プロシージャ名]; ローカルプロシージャの後に変数宣言はできない。(エラーになる) "PROCEDURE プロシージャ名 [(パラメータリスト)]" の部分はプログラム仕様と呼ばれる。 ストアドプロシージャ CREATE [ OR REPLACE ] プロシージャ名 [(パラメータリスト)] { IS | AS } [宣言部] BEGIN [実行部] [EXCEPTION 例外処理部)] END [プロシージャ名]; ソースコードを変更する場合は "CREATE OR REPLACE" で宣言する。 DROP → CREATE で行うと、付与した実行権限等が消えてしまう。 直近のエラー確認は SHOW ERRORS コマンドで行う。 プロシージャのパラメータ パラメータの形は下記の通り。 パラメータ名 パラメータモード データ型 [{ DEFAULT | = } デフォルト値] 例 CREATE OR REPLACE PROCEDURE ( bold(){param1 NUMBER, param2 VERCHAR2}) { IS | AS } [宣言部] BEGIN [実行部] [EXCEPTION 例外処理部)] END [プロシージャ名]; 複数のパラメータはカンマで区切る。 パラメータのデータ型に精度(桁数)は指定できない %TYPEと%ROWTYPEを使用することはできる。 パラメータモード IN OUT IN OUT 宣言の省略 〇 × × デフォルトの値の使用 〇 × × プログラム内での値の代入 × 〇 〇 実行時にリテラル使用 〇 × × リテラルは定数のこと。 プロシージャのコール SQLPlus上でのコールはEXECUTEコマンドを使用する。 PL/SQL内部でのコールは、Java等と同様に プロシージャ名; で呼び出せる。 呼び出す際のバインド変数は、SQLPLUS上ではVALIABLEコマンドを使用する。 実パラメータを受取るには バインド変数名 とする。 ストアドプログラム内にVALIABLE変数は記述できない。(コンパイルエラー) VARIABLEコマンドで使用できるデータ型 数値 NUMBER, BINARY_FLOAT, BINARY_DOUBLE 文字(固定長) CHAR, NCHAR 文字(可変長) VARCHAR2, NVARCHAR2 LOB CLOB, NCLOB REFカーソル REFCURSOR VARIABLE g_telno VARCHAR2(30) EXECUTE g_telno = 12345678901 PL/SQLプロシージャが正常に完了しました。 EXECUTE change_tel( g_telno) PL/SQLプロシージャが正常に完了しました。
https://w.atwiki.jp/shxxxohxxxx/pages/7.html
『ドラゴンクエスト』の武器データでSQLを学ぶ記事 https //zenn.dev/nameless_sn/articles/sql_tutorial_by_dragon_quest SQLの基礎を総まとめ https //qiita.com/n_oshiumi/items/9424ca773b6c0a809e94 SQLの達人への道 MySQLでの高速・効率的クエリ作成術 https //qiita.com/SimonLee/items/a878f72197
https://w.atwiki.jp/programing_wands/pages/27.html
SQLについて SQLとは SQLの書き方
https://w.atwiki.jp/koumei18/pages/14.html
1. 创建(CREATE) 2. 删除(drop) 3. 备份sql server(BACKUP) 4. 增加内容(Alter) 1. SQLの基礎 「SELECT」 2. SELECT文で並べ替えを行うには? 3. 集計を行う「GROUP BY」句 4. 異なるテーブル同士を結合する「JOIN」句 6. 基本的sql语句 01. 連番を採番する「ROW_NUMBER()」 7. UNION 运算符 X. EXCEPT 运算符 X. INTERSECT 运算符 返回两个日期之间的间隔 (DateDiff)
https://w.atwiki.jp/nishikita/pages/20.html
SQLの覚書。 Oracle Database 10g Release 2 (10.2) BIN$hogehogeという表は? ごみ箱内の表であり、drop tableすると出てくる。 purge USER_RECYCLEBIN PURGEで消せる。 参考 テーブル定義 - Oracle SQL 入門 SQL文 DROP SEQUENCE〜ROLLBACK
https://w.atwiki.jp/kurowal/pages/28.html
SQL関連のブックマーク SQL覚え書き接続関連 SQL文関連 ダンプ関連 UNDO関連 仕様文字コード関連 SQL関連のブックマーク SQL -TECHSCORE- SQLの基本操作を調べれる SHIFT the Oracle Oracle関数を調べれる Oracle エラー Oracoleのエラーコードから原因と対策を調べられる DB接続エラー DB接続エラー時の対処方法、原因切り分けを説明 SQL覚え書き 接続関連 研究室内データベース接続 psql -U dbuser -h a2 Bugzilla -U ユーザ -h ホスト名 テーブルを見る \d この後にテーブル名を書くと列名が見れる SQL文関連 LIKE演算子 列名 LIKE パターン (_)アンダースコア・・・1文字に該当 (%)パーセント・・・0文字を含む任意文字列 同値削除 SELECT DISTINCT(列名) 列名内で同じものが出て来ると一つしか表示しない 該当行数 SELECT COUNT(列名) WHERE後に書いた条件に合う行数が出力される 昇順に並べ替え ORDER BY 列名 ASC(DESC) 他テーブルの同じ名前の列の値を同じ値のは1つずつ表示 select user_id from tb_st_coop_log union select user_id from tb_st_coop_control order by user_id(ソートは全体にかかる) カタカナ&英字全角→半角処理(Oracle) UTL_I18N.TRANSLITERATE(TO_SINGLE_BYTE(列名), FWKATAKANA_HWKATAKANA ) ダンプ関連 エクスポート(ユーザ下全エクスポート) exp ユーザ名/パスワード file=出力ファイル名 owner=ユーザ名 インポート(ユーザ下全インポート) imp ユーザ名/パスワード file=入力ファイル名 ignore=y full=y ignore・オブジェクト存在時上書き full・ダンプファイル全体 ※注意 インポート前にインポートするテーブルが既に存在する場合は 内容は上書きされないので、上書きしたい場合は事前にtruncate tableしておく dump取得(オブジェクトブラウザの場合) テーブルを選択し、エクスポート(インデックス等も出力する場合はオプションで選択) 移動先に同テーブル名がある場合はドロップ(バックアップテーブル取得をお勧め) 管理→インポート(ユーザ名・テーブル名入力) データパンプのエクスポート expdp スキーマ/パスワード directory=ディレクトリオブジェクト tables=スキーマ.テーブル file=出力ファイル query=\"where 条件文 \" CONTENT=data_only データパンプのインポート impdp スキーマ/パスワード directory=ディレクトリオブジェクト dumpfile=ダンプファイル tables=スキーマ.テーブル logfile=EXPDP.LOG content=data_only テーブル単位、データのみインポート UNDO関連 UNDO使用率確認用 select 1使用率 as UNDO使用状態 ,round( ( ( UNDO容量KB - ( sum(bytes) / 1024 ) ) / UNDO容量KB) * 100, 2) as bytes from dba_free_space where tablespace_name = UNDOTBS1 union select 2アクティブ ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( ACTIVE ) union select 3UNEX ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( UNEXPIRED ) union select 4EX準備中 ,round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes from dba_undo_extents where tablespace_name = UNDOTBS1 and status in ( EXPIRED ) UNDO使用率確認用 select status, sum(bytes/1024/1024) as Mbytes from dba_undo_extents where tablespace_name = UNDOTBS1 group by status union select FREE ,sum(bytes/1024/1024) as Mbytes from dba_free_space where tablespace_name = UNDOTBS1 FREE 空き領域 EXPIRED 使用可能 ACTIVE UNEXPIRED 使用中 アーカイブ領域確認用 select name,type,state,total_mb,free_mb from sys.V_$ASM_DISKGROUP 仕様文字コード関連 仕様文字コード確認用 SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID( CHAR_CS )), NLS_CHARSET_NAME(NLS_CHARSET_ID( NCHAR_CS )) FROM DUAL SHIFT the Oracle マルチバイト oracleでの文字コードを調べれる